//
//  TestInfoModel.h
//  CloudTest
//
//  Created by 张帅 on 2020/7/22.
//  Copyright © 2020 张帅. All rights reserved.
//

#import <Foundation/Foundation.h>
@class ProjectModel;
@class ProjectListModel;
@class LevelModel;
//考试信息model
NS_ASSUME_NONNULL_BEGIN

@interface TestInfoModel : NSObject
@property(nonatomic,strong)ProjectListModel * project_info_model; //考级项目信息
@property(nonatomic,strong)ProjectModel * currentProject;
@property(nonatomic,strong)LevelModel * currentLevelModel;
@property(nonatomic,strong)NSArray * projectList;
@property(nonatomic,strong)NSArray * level_list;
@property(nonatomic,strong)NSString * code;

//选中的曲目数组
@property(nonatomic,strong)NSMutableArray * selected_song_list;
//考级报名界面使用是否已经 选好了曲目信息
@property(nonatomic,assign)BOOL show_data;//默认NO


 #pragma mark  根据考级码获取 考级信息 这个方法里面，使用串行队列吧第一次要展示的数据都请求下来了，返回一个完整的model
+ (void)get_info_code:(NSString *)code Success:(ObjSuccess)successBlock error:(ErrorBlock)errorBlock;

#pragma mark 根据考级码获取k科目信息
+ (void)get_ExamCode:(NSString *)code Success:(ObjSuccess)successBlock error:(ErrorBlock)errorBlock;

#pragma mark 根据科目id 获取等级列表
+(void)getLevelProjectId:(NSString *)projectId examCode:(NSString *)examCode Success:(ArraySuccess)successBlock error:(ErrorBlock)errorBlock;

#pragma mark 切换项目
- (void)switch_project_success:(ArraySuccess)successBlock;

#pragma mark 上传证书
-(void)upload_certificate_image_Success:(ObjSuccess)successBlock error:(ErrorBlock)errorBlock;


//获取选择的项目名数组
- (NSMutableArray *)get_select_projectName_list;

//获取选择的等级名数组
- (NSMutableArray *)get_select_levelName_list;

@end

@interface ProjectListModel : NSObject
@property(nonatomic,strong)NSString * committeeName;//考级委员会名称
@property(nonatomic,strong)NSString * committeePic;//考级委员会头像
@property(nonatomic,strong)NSArray * subjectList;

@end

#pragma mark 项目 model
@interface ProjectModel : NSObject
@property(nonatomic,strong)NSString * Id;
@property(nonatomic,strong)NSString * value; //项目名称
@end


#pragma mark 等级
@interface LevelModel : NSObject
@property(nonatomic,strong)NSString * Id;
@property(nonatomic,strong)NSArray * groupVos;//曲目
@property(nonatomic,strong)NSString * level;//等级
@property(nonatomic,strong)NSString * mask;//遮罩
@property(nonatomic,strong)NSString * name;// 等级中文名
@property(nonatomic,strong)NSString * price;//价格

//
//@property(nonatomic,assign)BOOL need_certificate_image;//默认 no
@property(nonatomic,strong)UIImage * __nullable certificate_image;
@property(nonatomic,strong)NSString * certificate_image_url;

//是否需要选择证书
- (BOOL)need_certificate_image;
//默认状态
- (void)default_state;

@end


#pragma mark 曲目分组
@interface GroupVos : NSObject
@property(nonatomic,strong)NSString * name;
@property(nonatomic,strong)NSArray * tuneList;//曲目

//本地使用
@property(nonatomic,assign)BOOL selected;
//选中的曲目名
@property(nonatomic,strong)NSString * song_name;

//设置选中曲目
- (void)set_select_songMode_songName:(NSString *)songName;

//获取选择的曲目数组
- (NSMutableArray *)get_select_songName_list;
@end

#pragma mark 曲目model
@interface SongModel : NSObject
@property(nonatomic,strong)NSString * Id;
@property(nonatomic,strong)NSString * mask;//
@property(nonatomic,strong)NSString * name;
@property(nonatomic,strong)NSString * url;
@property(nonatomic,assign)NSInteger recordingCode;//录制次数

//本地使用 默认 未选中NO
@property(nonatomic,assign)BOOL isSelected;
//@property(nonatomic,strong)NSString *  name ;//= "\U6d41\U884c\U6b4c\U66f2:\U7530\U56ed\U66f2";
//@property(nonatomic,strong)NSString *  reviewCode ;//= "<null>";
//@property(nonatomic,strong)NSString *  reviewStr;// = "<null>";
//@property(nonatomic,strong)NSString *  url;// = "<null>";

/// 获取曲目列表
/// @param orderId 订单id
/// @param successBlock successBlock
/// @param errorBlock errorBlock
+ (void)get_song_list_orderId:(NSString *)orderId success:(ObjSuccess)successBlock error:(ErrorBlock)errorBlock;
@end
NS_ASSUME_NONNULL_END
